//
//  MainTabBar.swift
//  WeiBo
//
//  Created by 肖海东 on 15/12/15.
//  Copyright © 2015年 XiaoHaiDong. All rights reserved.
//

import UIKit

class MainTabBar: UITabBar {
    //UIView默认的构造方法
    // 重写父类的构造方法
   override init(frame: CGRect) {
        super.init(frame: frame)
    // 添加 + 号
    addSubview(composeBtn)
    }

   required init?(coder aDecoder: NSCoder) {
    // 只支持手码创建 xib/storyboard 就会出错
       fatalError("init(coder:) has not been implemented")
    // 同时支持手码创建 也支持xib/storyboard 创建
    super.init(coder: aDecoder)
    // 添加 + 
    addSubview(composeBtn)
   }

    // 在这个方法中设置所有子视图的frame
    override func layoutSubviews() {
        super.layoutSubviews()
        // 修改所有子视图的frame + 
        // 每个的宽
        let w = self.bounds.width/5
        // 每个的高
        let h = self.bounds.height
        let rect = CGRect(x: 0, y: 0, width: w, height: h)
        
        var index:CGFloat = 0
        // 遍历每个的位置
        for subView in subviews {
            
            if subView.isKindOfClass(NSClassFromString("UITabBarButton")!) {
                // 修改frame
                subView.frame = CGRectOffset(rect,index * w, 0)
//                if index == 1 {
//                index++
//                }
                //三目运算
                index += (index == 1 ? 2 : 1)
                
            }
        }
        // 设置+ 号的位置为正中间 
        composeBtn.frame = CGRectOffset(rect, 2 * w, 0)
    }
    
    // 懒加载 + 按钮
    lazy var composeBtn: UIButton = {
    let btn = UIButton()
        
        
        // 设置加号
        btn.setImage(UIImage(named: "tabbar_compose_icon_add"), forState: .Normal)
        btn.setImage(UIImage(named: "tabbar_compose_icon_add_highlighted"), forState: .Highlighted)
        //   设置背景颜色
        btn.setBackgroundImage(UIImage(named: "tabbar_compose_button"), forState: .Normal)
        btn.setBackgroundImage(UIImage(named: "tabbar_compose_button_highlighted"), forState: .Highlighted)
        
       // 根据背景视图自动设置大小
        btn.sizeToFit()
        
    return btn
    }()
}
